Memory devices are typically provided as internal, semiconductor, integrated circuits in computers or other electronic systems. There are many different types of memory including volatile and non-volatile memory. Volatile memory can require power to maintain its data (e.g., host data, error data, etc.) and includes random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), synchronous dynamic random access memory (SDRAM), and thyristor random access memory (TRAM), among others. Non-volatile memory can provide persistent data by retaining stored data when not powered and can include NAND flash memory, NOR flash memory, and resistance variable memory such as phase change random access memory (PCRAM), resistive random access memory (RRAM), and magnetoresistive random access memory (MRAM), such as spin torque transfer random access memory (STT RAM), among others.
Memory devices can be combined together to form a storage volume of a memory system such as a solid state drive (SSD). A solid state drive can include non-volatile memory (e.g., NAND flash memory and NOR flash memory), and/or can include volatile memory (e.g., DRAM and SRAM), among various other types of non-volatile and volatile memory. Memory cells can be arranged into arrays, with the arrays being used in memory devices.
When data is sent (e.g., communicated, passed, transferred, transmitted, etc.) from one location to another, there is a possibility that an error may occur. Errors can also occur over time while data is stored in a memory. Such errors may interfere with reading of data as it was intended to be stored in the memory. There are a number of techniques that can be used to encode data so that an error can be detected and/or corrected. Since data is routinely sent to and from memory, and stored therein, memory can employ error correction techniques to attempt to correct data errors associated with the memory.